treeview: Clip before translating
authorBenjamin Otte <otte@redhat.com>
Mon, 31 Oct 2016 23:04:01 +0000 (00:04 +0100)
committerBenjamin Otte <otte@redhat.com>
Tue, 1 Nov 2016 02:51:48 +0000 (03:51 +0100)
We want to clip invalidations to the bin window, not the treeview
itself.

gtk/gtktreeview.c

index bc6aa74fa532cef324c11dc80ddef43006355f56..c0b1636c2b29ffdc91c35b76e915f0e6f8df33af 100644 (file)
@@ -4527,15 +4527,15 @@ static void
 gtk_tree_view_invalidate_bin_region (GtkTreeView    *tree_view,
                                      cairo_region_t *region)
 {
-  cairo_region_translate (region,
-                          - (gint) gtk_adjustment_get_value (tree_view->priv->hadjustment),
-                          gtk_tree_view_get_effective_header_height (tree_view));
-
   cairo_region_intersect_rectangle (region,
                                     &(GdkRectangle) { 0, 0,
                                                       gdk_window_get_width (tree_view->priv->bin_window),
                                                       gdk_window_get_height (tree_view->priv->bin_window)});
 
+  cairo_region_translate (region,
+                          - (gint) gtk_adjustment_get_value (tree_view->priv->hadjustment),
+                          gtk_tree_view_get_effective_header_height (tree_view));
+
   gtk_widget_queue_draw_region (GTK_WIDGET (tree_view), region);
 
   cairo_region_destroy (region);